package projetolp2.MealPoints;

public class Usuario {
	
	private String nome;
	private Opiniao opiniao;
	private TipoDeEstabelecimento preferencias;
	
	public Usuario(String nome) throws Exception{
		
		if(nome.equals("")|| nome == null){	
			throw new Exception("Nome do usuario nao pode ser nulo ou vazio!");
		}
		this.nome = nome;
	}
	public Usuario(String nome, Opiniao opiniao,TipoDeEstabelecimento preferencias){
		
		this.nome = nome;
		this.opiniao = opiniao;
		this.preferencias = preferencias;
	}
	
	public String getNome() { return nome; }
	
	public Opiniao getOpiniao(){return opiniao;}
	
	public TipoDeEstabelecimento getPreferencia(){ return preferencias;}

	public void setNome(String nome) { this.nome = nome; }
	
	public void setOpiniao(Opiniao opiniao){ this.opiniao = opiniao;}
	
	public void setPreferencias(TipoDeEstabelecimento preferencia){ this.preferencias = preferencias;} //verificar isso!
	
	public boolean equals(Object outroUsuario){
		
		if(!(outroUsuario instanceof Usuario)){
			
			return false;
		}
		
		Usuario novoUsuario = (Usuario) outroUsuario;
		if(novoUsuario.getNome() == getNome() && 
		novoUsuario.getOpiniao() == getOpiniao() && novoUsuario.getPreferencia() == getPreferencia()){
			
		return true;
		}
	
	 return false;
	
	}
	
	public String toString(){
		
		return "|Usuario - Nome: "+ nome +  "Opiniao: "+ opiniao + "Preferencias: " + preferencias +"|";
	}

}
